package com.xpsoft.oa.model.project;

import com.google.gson.annotations.Expose;
import com.xpsoft.oa.model.customer.SuppliersAssess;



/**
 * Contract Base Java Bean, base class for the.oa.model, mapped directly to database table
 * 
 * Avoid changing this file if not necessary, will be overwritten. 
 *
 * TODO: add class/table comments
 */
public class Contract extends com.xpsoft.core.model.BaseModel {
	@Expose
    protected Long id;  
	@Expose
	protected Project project;
	@Expose
	protected String category;
	@Expose
	protected String content;
	@Expose
	protected String contractNo;
	@Expose
	protected SuppliersAssess suppliersAssess;
	@Expose
	protected String property;
	@Expose
	protected String suppliersLevel;
	@Expose
	protected String contractVersion;
	@Expose
	protected String contractForm;
	@Expose
	protected java.math.BigDecimal contractAmount;
	@Expose
	protected String payType;
	@Expose
	protected String appointment;
	@Expose
	protected Integer originalCopyNum;
	@Expose
	protected Integer giveCopyNum;
	@Expose
	protected String attachIds;
	@Expose
	protected String attachFiles;
	@Expose
	protected String constructScope;
	@Expose
	protected String constructionUnit;
	@Expose
	protected String mainIncludeUnit;
	@Expose
	protected String designUnit;
	@Expose
	protected String consultUnit;
	@Expose
	protected String supervisionUnit;
	@Expose
	protected String ownerRepresent;
	@Expose
	protected String secureConstruct;
	@Expose
	protected String balanceType;
	@Expose
	protected String changeSignProtocol;
	@Expose
	protected String balanceTimeProtocol;
	@Expose
	protected String engineeringPay;
	@Expose
	protected String mainDesignProtocol;
	@Expose
	protected String supplyProtocol;
	@Expose
	protected String otherDuty;
	@Expose
	protected String specialProtocol;
	@Expose
	protected String projectLimit;
	@Expose
	protected String projectLimitProtocol;
	@Expose
	protected String progressPunishProtocol;
	@Expose
	protected String qualityRequire;
	@Expose
	protected String qualityPunishProtocol;
	@Expose
	protected Integer type;//合同类型  1 内部合同 ，2 承包合同
	@Expose
	protected Long processRunId;
	
	public static final Integer INNER_TYPE = 1;//内部合同
	public static final Integer PACKAGE_TYPE = 2;//承包合同
	
	/**
	 * Default Empty Constructor for class Contract
	 */
	public Contract () {
		super();
	}
	
	/**
	 * Default Key Fields Constructor for class Contract
	 */
	public Contract (
		 Long in_id
        ) {
		this.setId(in_id);
    }

    

	/**
	 * 	 * @return Long
     * @hibernate.id column="id" type="java.lang.Long" generator-class="native"
	 */
	public Long getId() {
		return this.id;
	}
	
	/**
	 * Set the id
	 */	
	public void setId(Long aValue) {
		this.id = aValue;
	}	


	public Long getProcessRunId() {
		return processRunId;
	}

	public void setProcessRunId(Long processRunId) {
		this.processRunId = processRunId;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	/**
	 * 分类	 * @return String
	 * @hibernate.property column="category" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getCategory() {
		return this.category;
	}
	
	/**
	 * Set the category
	 */	
	public void setCategory(String aValue) {
		this.category = aValue;
	}	

	/**
	 * 合同内容	 * @return String
	 * @hibernate.property column="content" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getContent() {
		return this.content;
	}
	
	/**
	 * Set the content
	 */	
	public void setContent(String aValue) {
		this.content = aValue;
	}	

	/**
	 * 合同编号	 * @return String
	 * @hibernate.property column="contractNo" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getContractNo() {
		return this.contractNo;
	}
	
	/**
	 * Set the contractNo
	 */	
	public void setContractNo(String aValue) {
		this.contractNo = aValue;
	}	


	public SuppliersAssess getSuppliersAssess() {
		return suppliersAssess;
	}

	public void setSuppliersAssess(SuppliersAssess suppliersAssess) {
		this.suppliersAssess = suppliersAssess;
	}

	/**
	 * 属性	 * @return String
	 * @hibernate.property column="property" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getProperty() {
		return this.property;
	}
	
	/**
	 * Set the property
	 */	
	public void setProperty(String aValue) {
		this.property = aValue;
	}	

	/**
	 * 供应商级别	 * @return String
	 * @hibernate.property column="suppliersLevel" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getSuppliersLevel() {
		return this.suppliersLevel;
	}
	
	/**
	 * Set the suppliersLevel
	 */	
	public void setSuppliersLevel(String aValue) {
		this.suppliersLevel = aValue;
	}	

	/**
	 * 合同版本	 * @return String
	 * @hibernate.property column="contractVersion" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getContractVersion() {
		return this.contractVersion;
	}
	
	/**
	 * Set the contractVersion
	 */	
	public void setContractVersion(String aValue) {
		this.contractVersion = aValue;
	}	

	/**
	 * 合同形式	 * @return String
	 * @hibernate.property column="contractForm" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getContractForm() {
		return this.contractForm;
	}
	
	/**
	 * Set the contractForm
	 */	
	public void setContractForm(String aValue) {
		this.contractForm = aValue;
	}	

	/**
	 * 合同总价	 * @return java.math.BigDecimal
	 * @hibernate.property column="contractAmount" type="java.math.BigDecimal" length="10" not-null="false" unique="false"
	 */
	public java.math.BigDecimal getContractAmount() {
		return this.contractAmount;
	}
	
	/**
	 * Set the contractAmount
	 */	
	public void setContractAmount(java.math.BigDecimal aValue) {
		this.contractAmount = aValue;
	}	

	/**
	 * 付款方式	 * @return String
	 * @hibernate.property column="payType" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getPayType() {
		return this.payType;
	}
	
	/**
	 * Set the payType
	 */	
	public void setPayType(String aValue) {
		this.payType = aValue;
	}	

	/**
	 * 质量、安全、进度约定	 * @return String
	 * @hibernate.property column="appointment" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getAppointment() {
		return this.appointment;
	}
	
	/**
	 * Set the appointment
	 */	
	public void setAppointment(String aValue) {
		this.appointment = aValue;
	}	

	/**
	 * 合同数量 原件总数	 * @return Integer
	 * @hibernate.property column="originalCopyNum" type="java.lang.Integer" length="10" not-null="false" unique="false"
	 */
	public Integer getOriginalCopyNum() {
		return this.originalCopyNum;
	}
	
	/**
	 * Set the originalCopyNum
	 */	
	public void setOriginalCopyNum(Integer aValue) {
		this.originalCopyNum = aValue;
	}	

	/**
	 * 返回对方数	 * @return Integer
	 * @hibernate.property column="giveCopyNum" type="java.lang.Integer" length="10" not-null="false" unique="false"
	 */
	public Integer getGiveCopyNum() {
		return this.giveCopyNum;
	}
	
	/**
	 * Set the giveCopyNum
	 */	
	public void setGiveCopyNum(Integer aValue) {
		this.giveCopyNum = aValue;
	}	

	/**
	 * 	 * @return String
	 * @hibernate.property column="attachIds" type="java.lang.String" length="200" not-null="false" unique="false"
	 */
	public String getAttachIds() {
		return this.attachIds;
	}
	
	/**
	 * Set the attachIds
	 */	
	public void setAttachIds(String aValue) {
		this.attachIds = aValue;
	}	

	/**
	 * 	 * @return String
	 * @hibernate.property column="attachFiles" type="java.lang.String" length="5000" not-null="false" unique="false"
	 */
	public String getAttachFiles() {
		return this.attachFiles;
	}
	
	/**
	 * Set the attachFiles
	 */	
	public void setAttachFiles(String aValue) {
		this.attachFiles = aValue;
	}	

	/**
	 * 施工范围	 * @return String
	 * @hibernate.property column="constructScope" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getConstructScope() {
		return this.constructScope;
	}
	
	/**
	 * Set the constructScope
	 */	
	public void setConstructScope(String aValue) {
		this.constructScope = aValue;
	}	

	/**
	 * 建设单位	 * @return String
	 * @hibernate.property column="constructionUnit" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getConstructionUnit() {
		return this.constructionUnit;
	}
	
	/**
	 * Set the constructionUnit
	 */	
	public void setConstructionUnit(String aValue) {
		this.constructionUnit = aValue;
	}	

	/**
	 * 总包单位	 * @return String
	 * @hibernate.property column="mainIncludeUnit" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getMainIncludeUnit() {
		return this.mainIncludeUnit;
	}
	
	/**
	 * Set the mainIncludeUnit
	 */	
	public void setMainIncludeUnit(String aValue) {
		this.mainIncludeUnit = aValue;
	}	

	/**
	 * 设计单位	 * @return String
	 * @hibernate.property column="designUnit" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getDesignUnit() {
		return this.designUnit;
	}
	
	/**
	 * Set the designUnit
	 */	
	public void setDesignUnit(String aValue) {
		this.designUnit = aValue;
	}	

	/**
	 * 造价咨询单位	 * @return String
	 * @hibernate.property column="consultUnit" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getConsultUnit() {
		return this.consultUnit;
	}
	
	/**
	 * Set the consultUnit
	 */	
	public void setConsultUnit(String aValue) {
		this.consultUnit = aValue;
	}	

	/**
	 * 监理单位及其权限	 * @return String
	 * @hibernate.property column="supervisionUnit" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getSupervisionUnit() {
		return this.supervisionUnit;
	}
	
	/**
	 * Set the supervisionUnit
	 */	
	public void setSupervisionUnit(String aValue) {
		this.supervisionUnit = aValue;
	}	

	/**
	 * 业主方授权项目代表及其权限	 * @return String
	 * @hibernate.property column="ownerRepresent" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getOwnerRepresent() {
		return this.ownerRepresent;
	}
	
	/**
	 * Set the ownerRepresent
	 */	
	public void setOwnerRepresent(String aValue) {
		this.ownerRepresent = aValue;
	}	

	/**
	 * 安全文明施工	 * @return String
	 * @hibernate.property column="secureConstruct" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getSecureConstruct() {
		return this.secureConstruct;
	}
	
	/**
	 * Set the secureConstruct
	 */	
	public void setSecureConstruct(String aValue) {
		this.secureConstruct = aValue;
	}	

	/**
	 * 结算方式	 * @return String
	 * @hibernate.property column="balanceType" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getBalanceType() {
		return this.balanceType;
	}
	
	/**
	 * Set the balanceType
	 */	
	public void setBalanceType(String aValue) {
		this.balanceType = aValue;
	}	

	/**
	 * 变更、签证处理条款	 * @return String
	 * @hibernate.property column="changeSignProtocol" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getChangeSignProtocol() {
		return this.changeSignProtocol;
	}
	
	/**
	 * Set the changeSignProtocol
	 */	
	public void setChangeSignProtocol(String aValue) {
		this.changeSignProtocol = aValue;
	}	

	/**
	 * 结算审计时间及超额审计费用条款	 * @return String
	 * @hibernate.property column="balanceTimeProtocol" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getBalanceTimeProtocol() {
		return this.balanceTimeProtocol;
	}
	
	/**
	 * Set the balanceTimeProtocol
	 */	
	public void setBalanceTimeProtocol(String aValue) {
		this.balanceTimeProtocol = aValue;
	}	

	/**
	 * 工程款支付	 * @return String
	 * @hibernate.property column="engineeringPay" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getEngineeringPay() {
		return this.engineeringPay;
	}
	
	/**
	 * Set the engineeringPay
	 */	
	public void setEngineeringPay(String aValue) {
		this.engineeringPay = aValue;
	}	

	/**
	 * 总包、设计、水电费条款	 * @return String
	 * @hibernate.property column="mainDesignProtocol" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getMainDesignProtocol() {
		return this.mainDesignProtocol;
	}
	
	/**
	 * Set the mainDesignProtocol
	 */	
	public void setMainDesignProtocol(String aValue) {
		this.mainDesignProtocol = aValue;
	}	

	/**
	 * 甲供材处理条款	 * @return String
	 * @hibernate.property column="supplyProtocol" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getSupplyProtocol() {
		return this.supplyProtocol;
	}
	
	/**
	 * Set the supplyProtocol
	 */	
	public void setSupplyProtocol(String aValue) {
		this.supplyProtocol = aValue;
	}	

	/**
	 * 其他违约责任	 * @return String
	 * @hibernate.property column="otherDuty" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getOtherDuty() {
		return this.otherDuty;
	}
	
	/**
	 * Set the otherDuty
	 */	
	public void setOtherDuty(String aValue) {
		this.otherDuty = aValue;
	}	

	/**
	 * 特立专用条款	 * @return String
	 * @hibernate.property column="specialProtocol" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getSpecialProtocol() {
		return this.specialProtocol;
	}
	
	/**
	 * Set the specialProtocol
	 */	
	public void setSpecialProtocol(String aValue) {
		this.specialProtocol = aValue;
	}	

	/**
	 * 工期	 * @return String
	 * @hibernate.property column="projectLimit" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getProjectLimit() {
		return this.projectLimit;
	}
	
	public String getProgressPunishProtocol() {
		return progressPunishProtocol;
	}

	public void setProgressPunishProtocol(String progressPunishProtocol) {
		this.progressPunishProtocol = progressPunishProtocol;
	}

	/**
	 * Set the projectLimit
	 */	
	public void setProjectLimit(String aValue) {
		this.projectLimit = aValue;
	}	

	/**
	 * 工期可顺延条款	 * @return String
	 * @hibernate.property column="projectLimitProtocol" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getProjectLimitProtocol() {
		return this.projectLimitProtocol;
	}
	
	/**
	 * Set the projectLimitProtocol
	 */	
	public void setProjectLimitProtocol(String aValue) {
		this.projectLimitProtocol = aValue;
	}	

	/**
	 * 质量要求	 * @return String
	 * @hibernate.property column="qualityRequire" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getQualityRequire() {
		return this.qualityRequire;
	}
	
	/**
	 * Set the qualityRequire
	 */	
	public void setQualityRequire(String aValue) {
		this.qualityRequire = aValue;
	}	

	/**
	 * 质量处罚条款	 * @return String
	 * @hibernate.property column="qualityPunishProtocol" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getQualityPunishProtocol() {
		return this.qualityPunishProtocol;
	}
	
	/**
	 * Set the qualityPunishProtocol
	 */	
	public void setQualityPunishProtocol(String aValue) {
		this.qualityPunishProtocol = aValue;
	}

	public Project getProject() {
		return project;
	}

	public void setProject(Project project) {
		this.project = project;
	}	




}
